home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / VIG-SL20.ZIP / CALLERS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-07-01  |  5KB  |  300 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Date     TDATE001(5)
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  TINTEGER004(1)
  24.     String   STRING001
  25.     String   TSTRING002(8)
  26.     String   STRING003
  27.     String   TSTRING004(2,5)
  28.     BigStr   BIGSTR001
  29.     BigStr   BIGSTR002
  30.     Double   TDOUBLE001(5,5)
  31.  
  32. ;------------------------------------------------------------------------------
  33.  
  34.     TSTRING004(1, 1) = "TDAY"
  35.     TSTRING004(1, 2) = "YDAY"
  36.     TSTRING004(1, 3) = "TOTL"
  37.     TSTRING004(1, 4) = "RCRD"
  38.     TSTRING004(1, 5) = "AVRG"
  39.     TSTRING004(2, 1) = "CALL"
  40.     TSTRING004(2, 2) = "MINS"
  41.     TSTRING004(2, 3) = "MSGS"
  42.     TSTRING004(2, 4) = "BYUL"
  43.     TSTRING004(2, 5) = "BYDL"
  44.     STRING001 = ReadLine(PPEPath() + "callers.cnf", 1)
  45.     STRING001 = ReplaceStr(STRING001, "@OPTEXT@", String(MinOn()))
  46.     FClose -1
  47.     Log StripAtx(STRING001), 0
  48.     FreshLine
  49.     Print STRING001
  50.     If (Exist(PPEPath() + "callers$." + String(PcbNode()))) Then
  51.         FOpen 1, PPEPath() + "callers$." + String(PcbNode()), 0, 0
  52.         FGet 1, BIGSTR001
  53.         For INTEGER001 = 1 To 8
  54.             FGet 1, TSTRING002(INTEGER001)
  55.         Next
  56.         FClose 1
  57.         If (U_Ful() <> TSTRING002(1)) Then
  58.             STRING003 = STRING003 + "U"
  59.             Goto LABEL001
  60.         Endif
  61.         STRING003 = STRING003 + "-"
  62.         :LABEL001
  63.         If (U_Fdl() <> TSTRING002(2)) Then
  64.             STRING003 = STRING003 + "D"
  65.             Goto LABEL002
  66.         Endif
  67.         STRING003 = STRING003 + "-"
  68.         :LABEL002
  69.         If (U_MsgRd() <> TSTRING002(3)) Then
  70.             STRING003 = STRING003 + "R"
  71.             Goto LABEL003
  72.         Endif
  73.         STRING003 = STRING003 + "-"
  74.         :LABEL003
  75.         If (U_MsgWr() <> TSTRING002(4)) Then
  76.             STRING003 = STRING003 + "W"
  77.             Goto LABEL004
  78.         Endif
  79.         STRING003 = STRING003 + "-"
  80.         :LABEL004
  81.         If (Psa(5)) Then
  82.             If (U_Stat(2) <> TSTRING002(5)) Then
  83.                 STRING003 = STRING003 + "P"
  84.                 Goto LABEL005
  85.             Endif
  86.             STRING003 = STRING003 + "-"
  87.             :LABEL005
  88.             If (U_Stat(10) + U_Stat(11) + U_Stat(14) + U_Stat(15) <> TSTRING002(6)) Then
  89.                 STRING003 = STRING003 + "H"
  90.                 Goto LABEL006
  91.             Endif
  92.             STRING003 = STRING003 + "-"
  93.             :LABEL006
  94.             Goto LABEL007
  95.         Endif
  96.         STRING003 = STRING003 + "--"
  97.         :LABEL007
  98.         FOpen 1, PPEPath() + "callers.dat", 0, 0
  99.         FCreate 2, PPEPath() + "callers$." + String(PcbNode()), 1, 0
  100.         :LABEL008
  101.         If (Ferr(1)) Goto LABEL009
  102.         FGet 1, BIGSTR002
  103.         If (BIGSTR001 == BIGSTR002) Then
  104.             BIGSTR002 = ReplaceStr(BIGSTR002, "---", Right(String(MinOn()), 3))
  105.             BIGSTR002 = ReplaceStr(BIGSTR002, "ONLINE", STRING003)
  106.             FAppend 3, PPEPath() + "callers.log", 1, 0
  107.             FPutLn 3, StripAtx(BIGSTR002)
  108.             FClose 3
  109.         Endif
  110.         If (BIGSTR002 <> "") FPutLn 2, BIGSTR002
  111.         Goto LABEL008
  112.         :LABEL009
  113.         FClose 2
  114.         FClose 1
  115.         Copy PPEPath() + "callers$." + String(PcbNode()), PPEPath() + "callers.dat"
  116.         Delete PPEPath() + "callers$." + String(PcbNode())
  117.         If (Exist(PPEPath() + "callers.@@@")) Goto LABEL010
  118.         FCreate 1, PPEPath() + "callers.@@@", 1, 0
  119.         For INTEGER001 = 1 To 5
  120.             FPutLn 1, Date()
  121.             For INTEGER002 = 1 To 5
  122.                 FPutLn 1, 0
  123.             Next
  124.         Next
  125.         FClose 1
  126.         :LABEL010
  127.         FOpen 1, PPEPath() + "callers.@@@", 0, 0
  128.         For INTEGER001 = 1 To 5
  129.             FGet 1, STRING003
  130.             Tokenize STRING003
  131.             TDATE001(INTEGER001) = GetToken()
  132.             For INTEGER002 = 1 To 5
  133.                 TDOUBLE001(INTEGER001, INTEGER002) = GetToken()
  134.             Next
  135.         Next
  136.         FClose 1
  137.         If (!OnLocal()) TDOUBLE001(1, 1) = TDOUBLE001(1, 1) + 1
  138.         If (!OnLocal()) TDOUBLE001(1, 2) = TDOUBLE001(1, 2) + MinOn()
  139.         TDOUBLE001(1, 3) = TDOUBLE001(1, 3) + U_MsgWr() - TSTRING002(4)
  140.         TDOUBLE001(1, 4) = TDOUBLE001(1, 4) + U_Bul() - TSTRING002(7)
  141.         TDOUBLE001(1, 5) = TDOUBLE001(1, 5) + U_Bdl() - TSTRING002(8)
  142.         For INTEGER001 = 1 To 5
  143.             If (TDOUBLE001(1, INTEGER001) > TDOUBLE001(4, INTEGER001)) Then
  144.                 TDOUBLE001(4, INTEGER001) = TDOUBLE001(1, INTEGER001)
  145.             Endif
  146.         Next
  147.         If (TDATE001(1) < Date()) Then
  148.             INTEGER003 = Date() - TDATE001(5)
  149.             TDATE001(2) = TDATE001(1)
  150.             For INTEGER001 = 1 To 5
  151.                 TDOUBLE001(5, INTEGER001) = (TDOUBLE001(5, INTEGER001) * (INTEGER003 - 1) + TDOUBLE001(1, INTEGER001)) / INTEGER003
  152.                 If (InStr(String(TDOUBLE001(5, INTEGER001)), ".") > 0) Then
  153.                     TDOUBLE001(5, INTEGER001) = Left(String(TDOUBLE001(5, INTEGER001)), InStr(String(TDOUBLE001(5, INTEGER001)), ".") - 1)
  154.                 Endif
  155.                 TDOUBLE001(2, INTEGER001) = TDOUBLE001(1, INTEGER001)
  156.                 TDOUBLE001(1, INTEGER001) = 0
  157.             Next
  158.             TDATE001(1) = Date()
  159.         Endif
  160.         If (!OnLocal()) TDOUBLE001(3, 1) = TDOUBLE001(3, 1) + 1
  161.         If (!OnLocal()) TDOUBLE001(3, 2) = TDOUBLE001(3, 2) + MinOn()
  162.         TDOUBLE001(3, 3) = TDOUBLE001(3, 3) + U_MsgWr() - TSTRING002(4)
  163.         TDOUBLE001(3, 4) = TDOUBLE001(3, 4) + U_Bul() - TSTRING002(7)
  164.         TDOUBLE001(3, 5) = TDOUBLE001(3, 5) + U_Bdl() - TSTRING002(8)
  165.         FCreate 1, PPEPath() + "callers.@@@", 1, 0
  166.         For INTEGER001 = 1 To 5
  167.             FPut 1, TDATE001(INTEGER001)
  168.             For INTEGER002 = 1 To 5
  169.                 FPut 1, " ", TDOUBLE001(INTEGER001, INTEGER002)
  170.             Next
  171.             FPutLn 1, ""
  172.         Next
  173.         FClose 1
  174.         FOpen 1, PPEPath() + "callers.cnf", 0, 0
  175.         FGet 1, STRING001
  176.         FCreate 2, PPEPath() + "callers.sta", 1, 0
  177.         :LABEL011
  178.         If (Ferr(1)) Goto LABEL012
  179.         FGet 1, BIGSTR002
  180.         For INTEGER001 = 1 To 5
  181.             For INTEGER002 = 1 To 5
  182.                 BIGSTR002 = ReplaceStr(BIGSTR002, "@" + TSTRING004(2, INTEGER001) + "_" + TSTRING004(1, INTEGER002) + "@", Right(String(TDOUBLE001(INTEGER002, INTEGER001)), 11))
  183.             Next
  184.         Next
  185.         If (BIGSTR002 <> "") FPutLn 2, BIGSTR002
  186.         Goto LABEL011
  187.         :LABEL012
  188.         FClose 2
  189.         FClose 1
  190.     Endif
  191.     End
  192.     If (0) Then
  193.         Brag
  194.         FFlush 1
  195.         FReAltUser
  196.         MouseReg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
  197.         Redim TINTEGER004, 2
  198.         Sort TINTEGER004, TINTEGER004
  199.         Print FlagCnt()
  200.         Print HiMsgNum()
  201.         Print KbdBufSize()
  202.         Print KbdFilUsed()
  203.         Print LoMsgNum()
  204.         Print PPLBufSize()
  205.     Endif
  206.  
  207. ;------------------------------------------------------------------------------
  208. ;
  209. ; Usage report (before postprocessing)
  210. ;
  211. ; ■ Statements used :
  212. ;
  213. ;    1       End
  214. ;    47      Goto 
  215. ;    70      Let 
  216. ;    7       Print 
  217. ;    33      If 
  218. ;    4       FCreate 
  219. ;    4       FOpen 
  220. ;    1       FAppend 
  221. ;    10      FClose 
  222. ;    6       FGet 
  223. ;    2       FPut 
  224. ;    6       FPutLn 
  225. ;    1       Delete 
  226. ;    1       Log 
  227. ;    1       Tokenize 
  228. ;    1       FreshLine
  229. ;    1       FFlush 
  230. ;    1       Redim 
  231. ;    1       Copy 
  232. ;    1       Sort 
  233. ;    1       MouseReg 
  234. ;    1       Brag
  235. ;    1       FReAltUser
  236. ;
  237. ;
  238. ; ■ Functions used :
  239. ;
  240. ;    1       -
  241. ;    1       *
  242. ;    1       /
  243. ;    62      +
  244. ;    9       -
  245. ;    1       ==
  246. ;    8       <>
  247. ;    12      <
  248. ;    11      <=
  249. ;    2       >
  250. ;    22      >=
  251. ;    31      !
  252. ;    22      &&
  253. ;    11      ||
  254. ;    1       Left()
  255. ;    2       Right()
  256. ;    2       Ferr()
  257. ;    2       InStr()
  258. ;    4       Date()
  259. ;    1       U_Ful()
  260. ;    1       U_Fdl()
  261. ;    2       U_Bdl()
  262. ;    2       U_Bul()
  263. ;    2       StripAtx()
  264. ;    11      String()
  265. ;    15      PPEPath()
  266. ;    1       U_MsgRd()
  267. ;    3       U_MsgWr()
  268. ;    5       PcbNode()
  269. ;    1       ReadLine()
  270. ;    4       OnLocal()
  271. ;    2       GetToken()
  272. ;    4       MinOn()
  273. ;    2       Exist()
  274. ;    5       U_Stat()
  275. ;    1       Psa()
  276. ;    4       ReplaceStr()
  277. ;    1       FlagCnt()
  278. ;    1       KbdBufSize()
  279. ;    1       PPLBufSize()
  280. ;    1       KbdFilUsed()
  281. ;    1       LoMsgNum()
  282. ;    1       HiMsgNum()
  283. ;
  284. ;------------------------------------------------------------------------------
  285. ;
  286. ; Analysis flags : No flag
  287. ;
  288. ;------------------------------------------------------------------------------
  289. ;
  290. ; Postprocessing report
  291. ;
  292. ;    11      For/Next
  293. ;    0       While/EndWhile
  294. ;    13      If/Then or If/Then/Else
  295. ;    0       Select Case
  296. ;
  297. ;------------------------------------------------------------------------------
  298. ;                 AEGiS Corp - Break the routines, code against the machines!
  299. ;------------------------------------------------------------------------------
  300.